home *** CD-ROM | disk | FTP | other *** search
/ Champak 132 / Vol 132.iso / games / nameless.swf / scripts / DefineSprite_2570 / frame_1 / DoAction.as
Text File  |  2011-06-09  |  7KB  |  283 lines

  1. if(!setVars)
  2. {
  3.    var moveSpeed = 3;
  4.    var addSpeed = 0.5;
  5.    var gravity = 0;
  6.    var maxGravity = 8;
  7.    var airSpeed = 0.5;
  8.    var active = false;
  9.    var xTar = 0;
  10.    xscale = _xscale;
  11.    var attacking = false;
  12.    var hitSound = new Sound();
  13.    var die = false;
  14.    hitSound.attachSound("punch5");
  15.    var removeNum = 100;
  16.    var melt = false;
  17.    var startX = _X;
  18.    var startY = _Y;
  19.    var bat = false;
  20.    var health = 2;
  21.    var mNum = 0;
  22.    var setVars = true;
  23. }
  24. stop();
  25. var getFrame = function()
  26. {
  27.    if(die == true)
  28.    {
  29.       frame = "die";
  30.    }
  31.    else if(melt == true)
  32.    {
  33.       frame = "melt";
  34.    }
  35.    else if(bat == true)
  36.    {
  37.       frame = "hit";
  38.    }
  39.    else if(running == false && attacking == false && falling == false)
  40.    {
  41.       frame = "stand";
  42.    }
  43.    else if(falling == true)
  44.    {
  45.       frame = "stand";
  46.    }
  47.    else if(running == true)
  48.    {
  49.       frame = "run";
  50.    }
  51.    else if(attacking == true)
  52.    {
  53.       frame = "attack";
  54.    }
  55.    gotoAndStop(frame);
  56. };
  57. var onEnterFrame = function()
  58. {
  59.    _root.checkVis(this);
  60.    if(_root.remake == true)
  61.    {
  62.       die = false;
  63.       melt = false;
  64.       removeNum = 100;
  65.       _X = startX;
  66.       _Y = startY;
  67.       active = false;
  68.       bat = false;
  69.       _visible = true;
  70.       _alpha = 100;
  71.       health = 2;
  72.    }
  73.    if(_root.pauseMode == false)
  74.    {
  75.       if(active == true)
  76.       {
  77.          if(die == true && dropped == false)
  78.          {
  79.             if(_root.health < 100)
  80.             {
  81.                dropNum = random(5);
  82.                if(dropNum == 1)
  83.                {
  84.                   _root.dropNum += 1;
  85.                   _root.attachMovie("healthbox","healthbox" + _root.dropNum,_root.dropNum);
  86.                   eval("_root.healthbox" + _root.dropNum)._x = _X;
  87.                   eval("_root.healthbox" + _root.dropNum)._y = _Y;
  88.                }
  89.             }
  90.             dropped = true;
  91.          }
  92.          if(die == false && melt == false && bat == false)
  93.          {
  94.             if(_root.candy.hitTest(hit))
  95.             {
  96.                if(_root.candy.dir == "left")
  97.                {
  98.                   _root.candy.dir = "right";
  99.                }
  100.                else
  101.                {
  102.                   _root.candy.dir = "left";
  103.                }
  104.                hitSound.start();
  105.                hitSound.start();
  106.                if(health <= 0)
  107.                {
  108.                   die = true;
  109.                }
  110.                else
  111.                {
  112.                   health -= 1;
  113.                   bat = true;
  114.                }
  115.             }
  116.             else if(_root.cm.g.hit.hitTest(hit))
  117.             {
  118.                hitSound.start();
  119.                if(health <= 0)
  120.                {
  121.                   die = true;
  122.                }
  123.                else
  124.                {
  125.                   health -= 1;
  126.                   bat = true;
  127.                }
  128.             }
  129.             else if(_root.cm.g.sparkle.hitTest(hit))
  130.             {
  131.                melt = true;
  132.             }
  133.             if(attacking == false)
  134.             {
  135.                if(_root.cm._x > _X)
  136.                {
  137.                   _xscale = - xscale;
  138.                }
  139.                else if(_root.cm._x < _X)
  140.                {
  141.                   _xscale = xscale;
  142.                }
  143.             }
  144.             if(!bound.hitTest(_root.cm))
  145.             {
  146.                if(attacking == false)
  147.                {
  148.                   running = true;
  149.                   if(_root.cm._x > _X)
  150.                   {
  151.                      if(!_root.bound.hitTest(_X + xTar + addSpeed,_Y - 10,true))
  152.                      {
  153.                         xTar += addSpeed;
  154.                      }
  155.                   }
  156.                   else if(_root.cm._x < _X)
  157.                   {
  158.                      if(!_root.bound.hitTest(_X - xTar - addSpeed,_Y - 10,true))
  159.                      {
  160.                         xTar -= addSpeed;
  161.                      }
  162.                   }
  163.                }
  164.             }
  165.             else
  166.             {
  167.                running = false;
  168.                if(xTar > 0)
  169.                {
  170.                   xTar -= addSpeed;
  171.                }
  172.                else if(xTar < 0)
  173.                {
  174.                   xTar += addSpeed;
  175.                }
  176.                mNum++;
  177.                num = random(50);
  178.                if((num == 1 or mNum == 30) && attacking == false && falling == false && running == false)
  179.                {
  180.                   mNum = 0;
  181.                   attacking = true;
  182.                }
  183.             }
  184.          }
  185.          else
  186.          {
  187.             if(removeNum < 0)
  188.             {
  189.                if(_alpha > 0)
  190.                {
  191.                   _alpha = _alpha - 1;
  192.                }
  193.                else
  194.                {
  195.                   _visible = false;
  196.                }
  197.             }
  198.             else
  199.             {
  200.                removeNum -= 1;
  201.             }
  202.             if(xTar > 0)
  203.             {
  204.                xTar -= addSpeed;
  205.             }
  206.             else if(xTar < 0)
  207.             {
  208.                xTar += addSpeed;
  209.             }
  210.          }
  211.          if(xTar > moveSpeed)
  212.          {
  213.             xTar = moveSpeed;
  214.          }
  215.          else if(xTar < - moveSpeed)
  216.          {
  217.             xTar = - moveSpeed;
  218.          }
  219.          if(_root.bound.hitTest(_X,_Y + 1,true))
  220.          {
  221.             falling = false;
  222.          }
  223.          else
  224.          {
  225.             falling = true;
  226.          }
  227.          if(falling == true)
  228.          {
  229.             grav = 0;
  230.             switched = false;
  231.             i = 0;
  232.             while(i < gravity)
  233.             {
  234.                if(switched == false)
  235.                {
  236.                   if(_root.bound.hitTest(_X,_Y + i,true))
  237.                   {
  238.                      switched = true;
  239.                   }
  240.                   else
  241.                   {
  242.                      grav = i;
  243.                   }
  244.                }
  245.                i++;
  246.             }
  247.             _Y = _Y + i;
  248.             if(gravity < maxGravity)
  249.             {
  250.                gravity += airSpeed;
  251.             }
  252.          }
  253.          else
  254.          {
  255.             gravity = 0;
  256.          }
  257.          while(_root.bound.hitTest(_X,_Y - 0.5,true))
  258.          {
  259.             _Y = _Y - 0.5;
  260.          }
  261.          _X = _X + xTar;
  262.          if((die == true or melt == true) && g._currentframe == g._totalframes)
  263.          {
  264.             g.stop();
  265.          }
  266.          else
  267.          {
  268.             g.play();
  269.          }
  270.       }
  271.       if(_root.cam.hitTest(this))
  272.       {
  273.          active = true;
  274.       }
  275.    }
  276.    else
  277.    {
  278.       stop();
  279.       g.stop();
  280.    }
  281.    getFrame();
  282. };
  283.